package com.zyc.provider;


import com.zyc.exception.RpcException;

/**
 * 存储提供服务
 * @author zyc
 * @create 2022--05--09 16:33
 */
public interface ServiceProvider {

    /**
     * 添加服务到缓存中
     * @param rpcService
     */
    void addService(Object rpcService);

    /**
     *获取获取服务
     * @param rpcServiceName 服务名称
     * @return
     */
    Object getService(String rpcServiceName) throws RpcException;

    /**
     * 发布服务，将服务器地址和方法添加到注册中心， 并调用addService
     * @param rpcService
     */
    void publishService(Object rpcService);

    void publishService(Object rpcService, int port);
}
